package com.ayoka.parenting.ui.group.manager;

import com.ayoka.parenting.bean.BaseResponse;
import com.ayoka.parenting.bean.CircleMemberBean;
import com.ayoka.parenting.bean.PagerBean;
import com.ayoka.parenting.interf.RequestCallback;
import com.ayoka.parenting.mvp.BasePresenter;
import com.ayoka.parenting.mvp.BaseView;

/**
 * @ProjectName: MVPPlugin.
 * @ClassName: MemberManagerContract.
 * @Description: .
 * @Author: jincp.
 * @CreateDate: 2019/10/10 18:17.
 */
public class MemberManagerContract {

    interface View extends BaseView {
        void configCircleGroupMemberListData(PagerBean<CircleMemberBean> response);

        void onAgreeApplyCallback(boolean isSuccess, int position);

        void onDeleteMemberCallback(boolean isSuccess, int position);
    }

    interface Presenter extends BasePresenter<View> {
        void getCircleGroupMemberListData(boolean isShowWaitDialog, String topicId, int pageNo, int pageSize);

        void agreeApply(String topicId, String userId, int position);

        void deleteMember(String topicId, String userId, int position);
    }

    interface Model {
        void getCircleGroupMemberListData(BasePresenter presenter, String topicId, int pageNo, int pageSize, RequestCallback<PagerBean<CircleMemberBean>> requestCallback);

        void agreeApply(BasePresenter presenter, String topicId, String userId, RequestCallback<BaseResponse> requestCallback);

        void deleteMember(BasePresenter presenter, String topicId, String userId, RequestCallback<BaseResponse> requestCallback);
    }
}
